// 创建Vuex核心 store

// 第一步引入Vuex
import Vuex from 'vuex'

// 引入Vue
import Vue from 'vue'

// 使用Vuex
Vue.use(Vuex)

// 响应组件中的动作
const actions = {
    ji(context, value) {
        if (context.state.sum % 2) context.commit('JI', value)
    },
    slide(context, value) {
        console.log(context);
        context.commit('SLIDE', value)
    }
}

// 操作数据（state）
const mutations = {
    JIA(state, value) {
        state.sum += value
    },
    JIAN(state, value) {
        state.sum -= value
    },
    JI(state, value) {
        state.sum += value
    },
    SLIDE(state, value) {
        state.sum += value
    }
}

// 用于存储数据
const state = {
    sum: 0, // 和
}
// 当state中数据需要加工后使用，可以用getters加工
// 在store中追加 getters配置
const getters = {
    bigSum(state){
        return state.sum*10
    }
}

// 创建store
const store = new Vuex.Store({
    actions,
    mutations,
    state,
    getters
})


// 暴露store 使其他VueComponents可以使用   简称vc组件实例对象
export default store